/*
 * @Author: ningjz
 * @Date: 2022-03-26 15:20:54
 * @Description: 默认时间(开始-结束)
 */

// 默认时间
/**
 * @description:
 * @param {*} val 前 val 天(用于获取开始日期)
 * @return {*}
 */
export function getDefaultDate(val: number) {
  const date = new Date()
  // 今天日期
  const endDate = `${date.getFullYear()}-${
    date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
  }-${date.getDate() < 10 ? '0' + date.getDate() : date.getDate()}` //年月日
  // 前 val 天时间
  const date2 = new Date(date)
  date2.setDate(date.getDate() - val)
  const startDate = `${date2.getFullYear()}-${
    date2.getMonth() + 1 < 10
      ? '0' + (date2.getMonth() + 1)
      : date2.getMonth() + 1
  }-${date2.getDate() < 10 ? '0' + date2.getDate() : date2.getDate()}` //年月日
  return [startDate, endDate]
}

// 格式化日期时间
export function dateFormat(date: any, fmt = 'yyyy-MM-dd hh:mm:ss') {
  let ret
  const opt: any = {
    'y+': date.getFullYear().toString(), // 年
    'M+': (date.getMonth() + 1).toString(), // 月
    'd+': date.getDate().toString(), // 日
    'h+': date.getHours().toString(), // 时
    'm+': date.getMinutes().toString(), // 分
    's+': date.getSeconds().toString() // 秒
    // 有其他格式化字符需求可以继续添加，必须转化成字符串
  }
  for (const k in opt) {
    ret = new RegExp('(' + k + ')').exec(fmt)
    if (ret) {
      fmt = fmt.replace(
        ret[1],
        ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
      )
    }
  }
  return fmt
}
